package modelo;

import java.util.Iterator;

import excepciones.LaPosicionYaTieneMinaExcepcion;

public abstract class Mina {
	
	protected Posicion posicion;
	protected int puntos;
	protected int rango;
	
	public int getPuntos(){
		return this.puntos;
	}
	public int getRango(){
		return rango;
	}
	
	public void ponerPosicion(Posicion posicion) throws LaPosicionYaTieneMinaExcepcion {
		posicion.agregarMina(this);
		this.posicion = posicion;
	}
	
	public abstract void explotar(Tablero tablero);
	
	public abstract void hacerDanio(Iterator<Barco> barcos, Posicion posicionExplosion);
	
	public abstract boolean puedeExplotar();
	
	public abstract void siguienteTurno();
	
	public abstract Mina getOtraMina();

	public Posicion getPosicion() {
		return posicion;
	}
}
